// utils/request.js
import axios from 'axios'
import { ElMessage } from 'element-plus'

const service = axios.create({
  baseURL: '/api', // 根据你的后端地址修改
  timeout: 5000,
})

service.interceptors.request.use(config => {
  const token = localStorage.getItem('token')
  if (token) {
    config.headers['Authorization'] = `Bearer ${token}`
  }
  return config
}, error => {
  Promise.reject(error)
})

service.interceptors.response.use(response => {
  const res = response.data
  if (res.code !== 200) {
    ElMessage.error(res.message || '请求失败')
    return Promise.reject(new Error(res.message || 'Error'))
  } else {
    return res.data
  }
}, error => {
  ElMessage.error('网络错误，请稍后再试')
  return Promise.reject(error)
})

export default service
// import axios from 'axios'
// import { ElMessage } from 'element-plus'

// // 创建axios实例
// const service = axios.create({
//   baseURL: import.meta.env.VITE_API_URL + '/api', // API基础URL
//   timeout: 10000 // 请求超时时间10秒
// })

// // 请求拦截器
// service.interceptors.request.use(
//   config => {
//     // 从本地存储获取token信息
//     const tokenInfo = JSON.parse(localStorage.getItem('tokenInfo') || '{}')
//     // 如果有token，添加到请求头中
//     if (tokenInfo.tokenName && tokenInfo.tokenValue) {
//       config.headers[tokenInfo.tokenName] = tokenInfo.tokenValue
//     }
//     return config
//   },
//   error => {
//     console.error('请求错误:', error)
//     return Promise.reject(error)
//   }
// )

// // 响应拦截器
// service.interceptors.response.use(
//   response => {
//     const res = response.data
//     console.log(res)

//     // 判断请求是否成功
//     if (res.code !== 200) {

//       // 如果是未认证状态，跳转到登录页
//       if (res.code === 401) {
//         // 清除本地token
//         localStorage.removeItem('tokenInfo')
//         setTimeout(() => {
//           window.location.href = '/login'
//         }, 1500)
//       }
//       return Promise.reject(new Error(res.message || '系统错误'))
//     } else {
//       return res
//     }
//   },
//   error => {
//     console.error('响应错误:', error)
//     if(error.response?.data?.code === 401){
//       // 清除本地token
//       localStorage.removeItem('tokenInfo')
//       setTimeout(() => {
//         window.location.href = '/login'
//       }, 1500)
//     }
//     // 获取错误信息
//     const message = error.response?.data?.message || error.message || '请求失败'
//     // 显示错误信息
//     ElMessage.error(message)
//     return Promise.reject(error)
//   }
// )

// export default service
